<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="btnBox">
        <input type="button" value="button_1"></input>
        <input type="button" value="button_2"></input>
        <input type="button" value="button_3"></input>
        <input type="button" value="button_4"></input>
        <input type="button" value="button_5"></input>
    </div>
    <script>
        // 点击按钮依次输出12345
        var btnBox = document.getElementById('btnBox'),
            inputs = btnBox.getElementsByTagName('input'),
            l = inputs.length;
        // for (var i = 0; i < l; i++) {
        //     inputs[i].onclick = function () {
        //         alert(i)
        //     }
        // }
        // 1. 自定义属性
        // for (var i = 0; i < l; i++) {
        //     inputs[i].j = i+1;
        //     inputs[i].onclick = function () {
        //         alert(this.j)
        //     }
        // }
        // 2.闭包-1
        // for (var i = 0; i < l; i++) {
        //     !function (i) {
        //         inputs[i].onclick = function () {
        //             alert(i+1)
        //         }
        //     }(i)
        // }
        // 3.闭包-2
        // for (var i = 0; i < l; i++) {
        //     inputs[i].onclick = (function (i) {
        //         return function () {
        //             alert(i + 1)
        //         }
        //     })(i)
        // }
        // 4.ES6 作用域
        for (let i = 0; i < l; i++) {
            inputs[i].onclick = function () {
                alert(i+1)
            }
        }
    </script>
</body>

</html>